<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="de0op" id="de0op"><span data-lake-id="u128d25e6" id="u128d25e6">典型回答</span></h1>
  <p data-lake-id="u4d0d9c77" id="u4d0d9c77"><br></p>
  <p data-lake-id="ub04b5ac9" id="ub04b5ac9"><span data-lake-id="ua69e4497" id="ua69e4497">分布式是把一个集中式系统拆分成多个系统，每一个系统单独对外提供部分功能，整个分布式系统整体对外提供一整套服务。对于访问分布式系统的用户来说，感知上就像访问一台计算机一样。</span></p>
  <p data-lake-id="uc829d411" id="uc829d411"><span data-lake-id="uf1e83f0a" id="uf1e83f0a">​</span><br></p>
  <p data-lake-id="u5495cca2" id="u5495cca2"><span data-lake-id="u95348485" id="u95348485">而</span><strong><span data-lake-id="ud232e798" id="ud232e798">分布式架构的具体实现有很多种，这其中包括了C/S架构、P2P架构、SOA架构、微服务架构、Serverless架构等</span></strong></p>
  <p data-lake-id="ue371dedd" id="ue371dedd"><span data-lake-id="u2f667250" id="u2f667250">​</span><br></p>
  <p data-lake-id="u095b0804" id="u095b0804"><strong><span data-lake-id="u05ea12b7" id="u05ea12b7">所以，微服务架构是分布式架构的一种。</span></strong></p>
  <p data-lake-id="u6638dd80" id="u6638dd80"><span data-lake-id="ucd1f3b04" id="ucd1f3b04">​</span><br></p>
  <h1 data-lake-id="sC0xl" id="sC0xl"><span data-lake-id="u2016fc1f" id="u2016fc1f">扩展知识</span></h1>
  <p data-lake-id="ud3c958ce" id="ud3c958ce"><br></p>
  <h2 data-lake-id="CSw0s" id="CSw0s"><span data-lake-id="u33158d7a" id="u33158d7a">C/S架构</span></h2>
  <p data-lake-id="u9512faac" id="u9512faac"><span data-lake-id="u4a79d0db" id="u4a79d0db">​</span><br></p>
  <p data-lake-id="u3b6e0281" id="u3b6e0281"><span data-lake-id="ua74e9508" id="ua74e9508">C/S架构，就是Client/Server (C/S)架构，在这种架构中，客户端应用程序通过网络连接到一个或多个服务器，并向服务器发送请求以获取服务或数据。服务器负责处理客户端的请求并返回相应的结果。这种架构常见于Web应用程序、数据库系统等。</span></p>
  <p data-lake-id="u027f6e9f" id="u027f6e9f"><span data-lake-id="uc12dbd3e" id="uc12dbd3e">​</span><br></p>
  <p data-lake-id="u77583d3d" id="u77583d3d"><img src="https://cdn.nlark.com/yuque/0/2023/png/5378072/1686919084976-439d5eff-58fa-43a7-8a92-7768c05e0b06.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_11%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="u2f206ce7" id="u2f206ce7"><span data-lake-id="uc597c9e4" id="uc597c9e4">​</span><br></p>
  <p data-lake-id="u7c0aa74c" id="u7c0aa74c"><span data-lake-id="u3b08ba60" id="u3b08ba60">在传统的C/S模式下，我们想要下载一个20G的电影，我们需要找到一个提供该电影资源的网站，然后连接网站的服务器连续下载。也就是要从文件原始位置开始下载这20G的完整数据。</span></p>
  <p data-lake-id="ub8f0026c" id="ub8f0026c"><span data-lake-id="u384614aa" id="u384614aa">​</span><br></p>
  <p data-lake-id="u3065c31e" id="u3065c31e"><span data-lake-id="u20e9c894" id="u20e9c894">这种下载方式有什么缺点？</span></p>
  <p data-lake-id="u6053593b" id="u6053593b"><span data-lake-id="ub1a1c809" id="ub1a1c809">​</span><br></p>
  <p data-lake-id="uec85d07a" id="uec85d07a"><span data-lake-id="ue534a4aa" id="ue534a4aa">1、首先这种方式比较依赖服务器的可用性，也就是说，如果服务器挂了，那么就电影的下载不得不终止。</span></p>
  <p data-lake-id="ueedc09bc" id="ueedc09bc"><span data-lake-id="u27547876" id="u27547876">2、如果想要下载电影的人数增多，网站的带宽就会成为瓶颈，就会导致大家下载速度下降，甚至有人无法下载。</span></p>
  <p data-lake-id="ud263ac46" id="ud263ac46"><span data-lake-id="u272b4fc1" id="u272b4fc1">3、由于所有资源都通过服务器端输出，别人想要攻击的话也相对方便，只要攻击服务器就可以了。<br><br></span></p>
  <h2 data-lake-id="k14DT" id="k14DT"><span data-lake-id="u9316bb96" id="u9316bb96">P2P架构</span></h2>
  <p data-lake-id="uc8dbc17a" id="uc8dbc17a"><br></p>
  <p data-lake-id="uc8e9d91b" id="uc8e9d91b"><span data-lake-id="u63d9550a" id="u63d9550a">P2P，是Peer-To-Peer 的简称，翻译成"对等网络"或者"点对点网络"。P2P是一种分布式网络，网络的参与者共享他们所拥有的一部分硬件资源（处理能力、存储能力、网络连接能力、打印机等），这些共享资源需要由网络提供服务和内容，能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源（服务和内容）提供者（Server），又是资源（服务和内容）获取者（Client）。</span></p>
  <p data-lake-id="ub320d100" id="ub320d100"><span data-lake-id="u45593196" id="u45593196">​</span><br></p>
  <p data-lake-id="u97c6c426" id="u97c6c426"><span data-lake-id="uff2b7d8c" id="uff2b7d8c">正是因为C/S模式存在着这些问题，于是P2P就应运而生。</span></p>
  <p data-lake-id="u1f7659fe" id="u1f7659fe"><span data-lake-id="uf652700b" id="uf652700b">P2P打破了传统的C/S模式，在网络中的每个结点的地位都是对等的。每个结点既充当服务器，为其他结点提供服务，同时也享用其他结点提供的服务。</span></p>
  <p data-lake-id="u46767203" id="u46767203"><br></p>
  <p data-lake-id="ue2197903" id="ue2197903"><img src="https://cdn.nlark.com/yuque/0/2023/png/5378072/1686919192424-a5aee1da-d7ca-4d4d-a856-8e26f44dc427.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_10%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="ue0c07843" id="ue0c07843"><br></p>
  <p data-lake-id="u0180c9dc" id="u0180c9dc"><span data-lake-id="u13dd6088" id="u13dd6088">在P2P模式下，如果有多个人想要下载同一个电影的话，大家就可以不必分别从服务器下载完整的20G的电影。</span></p>
  <p data-lake-id="udf8d90ac" id="udf8d90ac"><span data-lake-id="u5e7b8a80" id="u5e7b8a80">​</span><br></p>
  <p data-lake-id="ua1182adf" id="ua1182adf"><span data-lake-id="uec204887" id="uec204887">由于采用了P2P模式，那么每一个用户就可以既充当客户端又可以充当服务器。</span></p>
  <p data-lake-id="u902a0cf8" id="u902a0cf8"><span data-lake-id="u4c78c1c4" id="u4c78c1c4">​</span><br></p>
  <p data-lake-id="ub7b73b20" id="ub7b73b20"><span data-lake-id="u8e38082c" id="u8e38082c">如果4个人同时下载20G电影，那么4个人分别各自下载了不一样的部分，然后在下载的同时进行相互传送。</span></p>
  <p data-lake-id="u183c52b8" id="u183c52b8"><span data-lake-id="u30f5558b" id="u30f5558b">​</span><br></p>
  <p data-lake-id="u516a6901" id="u516a6901"><span data-lake-id="u0087fa61" id="u0087fa61">这样大家一边从服务器下载得到数据，一边从别的下载的人那里得到数据，就比单一从服务器下载来得快。</span></p>
  <p data-lake-id="u0ea428a8" id="u0ea428a8"><span data-lake-id="u8d45a030" id="u8d45a030">​</span><br></p>
  <p data-lake-id="ub484aa20" id="ub484aa20"><span data-lake-id="uf3b715df" id="uf3b715df">P2P架构具有非中心化、可扩展、高性能、高性价比等优点。</span></p>
  <p data-lake-id="ud58e0195" id="ud58e0195"><br></p>
  <p data-lake-id="ud8e4f7b4" id="ud8e4f7b4"><span data-lake-id="u6d56005d" id="u6d56005d">P2P架构在很多方面都有应用，比如我们常用的很多下载软件，如BT、迅雷等。</span></p>
  <p data-lake-id="uabc29527" id="uabc29527"><span data-lake-id="u188e0180" id="u188e0180">​</span><br></p>
  <h2 data-lake-id="b3qS0" id="b3qS0"><span data-lake-id="ua54da24d" id="ua54da24d">Servless架构</span></h2>
  <p data-lake-id="u552dc46d" id="u552dc46d"><span data-lake-id="ua05b087b" id="ua05b087b">​</span><br></p>
  <p data-lake-id="ua3f9a6ba" id="ua3f9a6ba"><span data-lake-id="uc50f8e49" id="uc50f8e49">Servless，即无服务架构，是一种将应用程序逻辑交给云服务提供商管理的架构形式。</span></p>
  <p data-lake-id="ua16f0fc0" id="ua16f0fc0"><span data-lake-id="u1bb7da37" id="u1bb7da37">​</span><br></p>
  <p data-lake-id="u03fd76db" id="u03fd76db"><span data-lake-id="u831780fa" id="u831780fa">应用程序以</span><strong><span data-lake-id="ub0f41043" id="ub0f41043">函数</span></strong><span data-lake-id="u50b9f15d" id="u50b9f15d">的形式运行，通过事件驱动的方式触发。无服务架构将基础设施管理的责任交给云平台，开发人员可以专注于业务逻辑。无服务架构适用于快速开发、弹性扩展和按需计费的场景。</span></p>
  <p data-lake-id="u4eac0b6c" id="u4eac0b6c"><span data-lake-id="ubad5c55b" id="ubad5c55b">​</span><br></p>
  <p data-lake-id="u5615b222" id="u5615b222"><span data-lake-id="u3f078063" id="u3f078063">​</span><br></p>
  <h2 data-lake-id="gLYzn" id="gLYzn"><span data-lake-id="ua7b7fb83" id="ua7b7fb83">微服务&amp;SOA</span></h2>
  <p data-lake-id="uf3676b78" id="uf3676b78"><br></p>
  <p data-lake-id="uac84c3b1" id="uac84c3b1"><br></p>
 </body>
</html>